package DesignPatterns.singleton;

/**
 * 饱汉式
 * 优点：懒加载，不存在内存泄漏问题
 * 缺点：存在线程安全问题，并发时，单例无法保证
 */
public class Single3 {
    //创建私有成员对象，先不new对象
    private static Single3 single;

    //私有构造方法
    private Single3() {

    }

    //提供一个全局访问点
    public static Single3 getInstance() {
        //若没有则创建single对象
        if (single == null) {
            // 放大线程安全问题
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            single = new Single3();
        }
        return single;

    }

}
